FIG. 1 is an example prior art system 100 for transmitting and playing back video content. The system 100 includes a video server 102 connected to a mobile device 104 and to a personal computer 106 (e.g., desktop computer), over one or more data communication networks 108. The network 108 can be one or more private or public, wired or wireless networks, such as the Internet, a LAN (Local Area Network), WAN (Wide Area Network), or some other type of network. The mobile device 104 can be a mobile phone, smart phone, personal digital assistant (PDA), Blackberry device, portable computer, electronic gaming device, media player, or combinations of these. Other types of mobile devices are possible.
The video server 102 receives requests for video content from, and sends video content to, the mobile device 104 and the personal computer 106. The devices 104 and 106 can present received video content on their respective displays. In general, the video server 102 can send video content to any playback system, where a playback system is a device or software capable of decoding and presenting the video content. By way of illustration, video content can include video, still images, audio content, vector graphics, non vector graphics, combinations of these, and other content that can be played back on a playback system. Examples of video content are movies, music videos, and television programs, to name a few.
The video server 102 can retrieve video content from a connected video repository 110. Video content can be stored and, optionally, transmitted in a compressed format, such as in an MPEG (Moving Picture Experts Group) format. The video repository 110, for a particular video title, can store either one version of video content scaled for a single display size or multiple versions where each version is scaled for different display sizes. For example, the video repository 110 includes video content items 112a-c, where each video content item is created for a different display size. For example, the video content item 112a is for devices with small displays, such as mobile device 104. Likewise, video content item 112c may be the same video title as 112a but for a larger display, such as typically found on the personal computer 106.
If multiple versions of video titles are stored for different display sizes, a number of issues can arise. First, the repository 110 can be required to store significantly more data than if only one version of each title is stored. Additionally, it is impractical for the video server 102 to store a version of each video title for every possible screen size. Potential screen sizes are numerous, and it would be impractical for the video server 102 to anticipate screen sizes for all possible requesting devices.
If only one version of a video title is stored in the repository 110, the video content can be scaled dynamically by the receiving device if video content is requested by a device whose screen size does not correspond to the scale of the stored video content. For example, if video content stored in the repository 110 is scaled to correspond to the screen size of the personal computer 106, and if a request for video content is received from the mobile device 104, the mobile device 104 can dynamically downscale the video content as the content is being received. Sending video content scaled for a screen size larger than is necessary, however, consumes extra communications bandwidth (resulting in transmission latency) and generally takes more time to decode than necessary.
Whether or not video content is pre-scaled for a mobile device's given display size, such devices generally have less powerful processors than personal computers and communicate over slower, less reliable wireless networks. Therefore, video content decoding on mobile devices can typically fall behind resulting in video playback being out of synchronization with audio playback. When this happens, some playback systems “drop” video frames in order to catch the video playback up to the audio playback. However, this can cause the presentation of video content to skip or jump which can be disconcerting to users.